package org.jsola.hr.vo;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.jsola.core.vo.BaseVO;

import java.util.Date;
import java.util.List;

import static org.jsola.core.example.BaseExample.*;
import static org.jsola.hr.example.CustomTemplateFieldExample.E_SORT;
import static org.jsola.hr.example.CustomTemplateFieldExample.N_SORT;
import static org.jsola.hr.example.CustomTemplateFieldExample.*;
import static org.jsola.hr.example.CustomTemplateFieldExample.N_TEMPLATE_ID;
import static org.jsola.hr.example.CustomTemplateFieldExample.N_TYPE;

/**
 * 自定义模板字段
 *
 * @author zhr
 */
@EqualsAndHashCode(callSuper = true)
@ApiModel(description = "【自定义模板字段】列表展示对象")
@Data
public class CustomTemplateFieldListVO extends BaseVO {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(notes = N_ID, example = E_ID)
    private String id;

    @ApiModelProperty(notes = N_SORT, example = E_SORT)
    private Integer sort;

    @ApiModelProperty(notes = N_IS_DEFAULT, example = E_IS_DEFAULT)
    private Boolean isDefault;

    @ApiModelProperty(notes = N_IS_EDIT, example = E_IS_EDIT)
    private Integer isEdit;

    @ApiModelProperty(notes = N_FIELD_TYPE, example = E_FIELD_TYPE)
    private Integer fieldType;

    @ApiModelProperty(notes = N_FIELD_CODE, example = E_FIELD_CODE)
    private String fieldCode;

    @ApiModelProperty(notes = N_FIELD_NAME, example = E_FIELD_NAME)
    private String fieldName;

    @ApiModelProperty(notes = N_IS_REQUIRED, example = E_IS_REQUIRED)
    private Boolean isRequired;

    @ApiModelProperty(notes = N_IS_NECESSARY, example = E_IS_NECESSARY)
    private Boolean isNecessary;

    @ApiModelProperty(notes = N_IS_OPEN, example = E_IS_OPEN)
    private Boolean isOpen;

    @ApiModelProperty(notes = N_MODULE_NAME, example = E_MODULE_NAME)
    private String moduleName;

    @ApiModelProperty(notes = N_MODULE_CODE, example = E_MODULE_CODE)
    private String moduleCode;

    @ApiModelProperty(notes = N_COMPANY_ID, example = E_COMPANY_ID)
    private String companyId;

    @ApiModelProperty(notes = N_TEMPLATE_ID, example = E_TEMPLATE_ID)
    private String templateId;

    @ApiModelProperty(notes = N_TYPE, example = E_TYPE)
    private Integer type;

    @ApiModelProperty(notes = N_GMT_CREATE, example = E_GMT_CREATE)
    private Date gmtCreate;

    @ApiModelProperty(notes = N_GMT_MODIFIED, example = E_GMT_MODIFIED)
    private Date gmtModified;

    @ApiModelProperty(notes = "租户id")
    private String siteId;

    @ApiModelProperty(notes = "下拉数组枚举对象列表")
    private List<DropDownEnumVO> dropDownEnumList;



}

